package br.edu.fa7.javabasics.module1.poo.classeAbstrata.agencia;

/**
 * Classe abstrata {@link Viagem} para ser implementada pelos pacotes 
 * @author charles.marques
 * @version 1.0
 * @since 29.10.2014
 */
public abstract class Viagem {
	/**
	 * Procedimento para realizacao de viagem
	 */
	public final void realizarViagem() {
		fazerTrasladoIda();
		executarPrimeiroDia();
		executarSegundoDia();
		executarTerceiroDia();
		fazerTrasladoVolta();
	}

	public abstract void fazerTrasladoIda();

	public abstract void executarPrimeiroDia();

	public abstract void executarSegundoDia();

	public abstract void executarTerceiroDia();

	public abstract void fazerTrasladoVolta();
}
